Matthias Clasen [Thu, 5 Nov 2015 11:46:31 +0000 (06:46 -0500)]
Adwaita: Update scale styling
Adapt to the introduction of trough nodes.
Matthias Clasen [Thu, 5 Nov 2015 11:45:24 +0000 (06:45 -0500)]
scale: Split marks node into two
Use separate CSS nodes for the marks above and below the trough.
Matthias Clasen [Thu, 5 Nov 2015 11:47:10 +0000 (06:47 -0500)]
range: Add private api to get the trough node
This will be needed in range subclasses to position their
own subnodes.
Matthias Clasen [Thu, 5 Nov 2015 05:29:14 +0000 (00:29 -0500)]
HighContrast: Update range styling
Adjust to the changes in the previous commit.
Matthias Clasen [Thu, 5 Nov 2015 05:20:50 +0000 (00:20 -0500)]
Adwaita: Update range styling
Adjust to the changes in the previous commit. This partially
undoes the earlier range changes.
Matthias Clasen [Thu, 5 Nov 2015 05:20:05 +0000 (00:20 -0500)]
range: Add a CSS node for the trough
This is in sync with what we do elsewhere for troughs.
Benjamin Otte [Wed, 4 Nov 2015 18:11:14 +0000 (19:11 +0100)]
stack: Queue a resize/allocate when switching children
We only allocate a size to the currently visible child, so we obviously
need to rerun allocation when the visible child changes.
In the case where the stack is not homogenous, we also need to queue a
resize because our size request just changed.
Benjamin Otte [Wed, 4 Nov 2015 18:10:16 +0000 (19:10 +0100)]
tests: Make stack expand
This is to test invisible children are actually resized before they are
made visible (which they currrently are not.
Matthias Clasen [Wed, 4 Nov 2015 17:43:06 +0000 (12:43 -0500)]
HighContrast: Update progressbar styling
Adjust to the chagnes in the previous commit. This partially
undoes the earlier progressbar changes.
Matthias Clasen [Wed, 4 Nov 2015 17:33:06 +0000 (12:33 -0500)]
Adwaita: Update progressbar styling
Adjust to the changes in the previous commit. This partially
undoes the earlier progressbar changes.
Matthias Clasen [Wed, 4 Nov 2015 17:32:15 +0000 (12:32 -0500)]
progressbar: Add a CSS node for trough
This is better, since the trough doesn't fill up the allocation
entirely.
Matthias Clasen [Wed, 4 Nov 2015 17:01:26 +0000 (12:01 -0500)]
popover: Add the .background style class
This style class indicates that something _requires_ a background,
which is clearly the case for popovers.
Matthias Clasen [Wed, 4 Nov 2015 16:45:10 +0000 (11:45 -0500)]
paned: Move .wide to CSS subnode
This fits better with our general use of style classes.
Matthias Clasen [Wed, 4 Nov 2015 15:11:06 +0000 (10:11 -0500)]
revealer: Use an element name
Krzesimir Nowak [Wed, 4 Nov 2015 13:19:13 +0000 (14:19 +0100)]
scrolledwindow: Fix a typo
Matthias Clasen [Wed, 4 Nov 2015 12:36:49 +0000 (07:36 -0500)]
HighContrast: Update scrolled window styling
Adapt to the changes in the previous commit.
Matthias Clasen [Wed, 4 Nov 2015 12:30:19 +0000 (07:30 -0500)]
Adwaita: Update scrolledwindow styling
Adapt to the changes in the previous commit.
Matthias Clasen [Wed, 4 Nov 2015 12:29:33 +0000 (07:29 -0500)]
scrolledwindow: Port to CSS nodes
Change GtkScrolledWindow to use transient named CSS nodes for
drawing the overshoot, undershoot and scrollbar junction.
Emmanuele Bassi [Wed, 4 Nov 2015 11:50:37 +0000 (11:50 +0000)]
docs: Point at for_scale() variants
Using lookup_icon() and lookup_by_gicon() with a size multiplied by a
scaling factor is almost certainly going to get worse results than using
their for_scale() variants.
Emmanuele Bassi [Wed, 4 Nov 2015 11:45:41 +0000 (11:45 +0000)]
docs: Clarify gtk_render_icon()'s behaviour
A GdkPixbuf has no scaling factor, so drawing directly from it can only
using a scale of 1, to avoid blurry, fuzzy icons.
You should be using gtk_render_icon_surface() anyway.
Emmanuele Bassi [Wed, 4 Nov 2015 11:45:19 +0000 (11:45 +0000)]
docs: Fix typo in gdk_screen_get_scale_factor()
Pedro Albuquerque [Wed, 4 Nov 2015 07:59:07 +0000 (07:59 +0000)]
Updated Portuguese translation
Pedro Albuquerque [Wed, 4 Nov 2015 07:52:34 +0000 (07:52 +0000)]
Updated Portuguese translation
Matthias Clasen [Wed, 4 Nov 2015 05:00:56 +0000 (00:00 -0500)]
inspector: Some improvements to the CSS node tree
Set a min-content-height for the property list, and
allow horizontal scrolling.
Matthias Clasen [Wed, 4 Nov 2015 04:55:50 +0000 (23:55 -0500)]
inspector: Really show the selected CSS node
Try harder to scroll the selected CSS node into view.
Matthias Clasen [Wed, 4 Nov 2015 04:35:32 +0000 (23:35 -0500)]
scale: Fix a crash
We can only free the marks_node if there is one.
Matthias Clasen [Wed, 4 Nov 2015 04:27:34 +0000 (23:27 -0500)]
stack sidebar: Use an element name
Matthias Clasen [Wed, 4 Nov 2015 04:24:49 +0000 (23:24 -0500)]
stack switcher: Use an element name
Matthias Clasen [Wed, 4 Nov 2015 04:24:13 +0000 (23:24 -0500)]
widget-factory: Stop using deprecated API
Matthias Clasen [Wed, 4 Nov 2015 04:19:28 +0000 (23:19 -0500)]
stack: Set an element name
And it is...stack.
Matthias Clasen [Wed, 4 Nov 2015 04:16:45 +0000 (23:16 -0500)]
HighContrast: Update range styling
Adapt to changes in the previous commit.
Matthias Clasen [Wed, 4 Nov 2015 04:12:54 +0000 (23:12 -0500)]
Adwaita: Update range styling
Adapt to the changes in the previous commit.
Matthias Clasen [Wed, 4 Nov 2015 04:11:52 +0000 (23:11 -0500)]
range: Convert to CSS nodes
Use CSS nodes for GtkScale and GtkScrollbar. See their documentation
for details on what subnodes with what names exist.
Benjamin Otte [Wed, 4 Nov 2015 04:06:31 +0000 (05:06 +0100)]
testutils: Deprecate a bunch of ugly functions
We've by now disabled and then remved all of the tests that use these
functions because they never worked properly. So let's depecate these
functions before somebody starts using them.
Benjamin Otte [Wed, 4 Nov 2015 03:50:18 +0000 (04:50 +0100)]
testsuite: Remove a bunch of broken tests
These tests have either been commented out for way too long or use APIs
that we don't want to support.
Christian Hergert [Tue, 3 Nov 2015 23:13:51 +0000 (15:13 -0800)]
stack: GtkStack:interpolate-size should be read/write
It looks like the param spec for interpolate-size was
copied from the line above it, which is a read only property.
There is a setter for interpolate-size, and it is implemented in
set_property().
Christian Hergert [Tue, 3 Nov 2015 22:36:54 +0000 (14:36 -0800)]
headerbar: remove G_PARAM_CONSTRUCT from custom-title
This fixes the ability to sublcass GtkHeaderBar from a UI template which
contains a custom <child type="title"> element.
https://bugzilla.gnome.org/show_bug.cgi?id=757544
Benjamin Otte [Tue, 3 Nov 2015 21:51:01 +0000 (22:51 +0100)]
widget: Queue resize on parent, not self
When setting the parent of a widget, queue_resize() on the widget will
be optimized away if the widget already had a resize queued.
Plus, we do not need to resize the widget as its size request is not
going to change.
Matthias Clasen [Tue, 3 Nov 2015 19:24:25 +0000 (14:24 -0500)]
menu: Add diagrams to CSS documentation
Matthias Clasen [Tue, 3 Nov 2015 19:21:30 +0000 (14:21 -0500)]
paned: Add diagrams to CSS documentation
Matthias Clasen [Tue, 3 Nov 2015 19:19:08 +0000 (14:19 -0500)]
combo box: Add diagrams to CSS documentation
Matthias Clasen [Tue, 3 Nov 2015 18:49:07 +0000 (13:49 -0500)]
text view: Add diagram to CSS documentation
Matthias Clasen [Tue, 3 Nov 2015 18:39:14 +0000 (13:39 -0500)]
accel label: Add diagrams to CSS documentation
Matthias Clasen [Tue, 3 Nov 2015 18:37:57 +0000 (13:37 -0500)]
progressbar: Add diagrams to CSS documentation
Matthias Clasen [Tue, 3 Nov 2015 18:36:26 +0000 (13:36 -0500)]
spin button: Add diagrams to CSS documentation
Matthias Clasen [Tue, 3 Nov 2015 18:28:52 +0000 (13:28 -0500)]
switch: Add a diagram to CSS node documentation
Benjamin Otte [Tue, 3 Nov 2015 17:53:45 +0000 (18:53 +0100)]
widget: Queue an allocate on hide
This makes sure that hidden widgets always have priv->alloc_needed set
on them.
The constructor sets that flag, so we want to have it back when we
revert to this state.
This fixes GtkWindow skipping a size_allocate() when reshowing a
previously hidden window and thereby not updating its allocation and
clip. And that in turn would lead to draws not happening and us beig
left with a black window.
Matthias Clasen [Tue, 3 Nov 2015 17:51:52 +0000 (12:51 -0500)]
model button: Add diagrams to the CSS node documentation
Matthias Clasen [Tue, 3 Nov 2015 17:20:53 +0000 (12:20 -0500)]
model button: Complete the CSS node conversion
There was still style context saving in the draw function,
and the CSS node was not always properly updated and positioned.
Fix these things, and use the same CSS node for the arrow
drawing as well.
Matthias Clasen [Tue, 3 Nov 2015 15:43:48 +0000 (10:43 -0500)]
list box: Remove an unused static
Matthias Clasen [Tue, 3 Nov 2015 15:41:49 +0000 (10:41 -0500)]
file chooser button: Remove an unused variable
Matthias Clasen [Tue, 3 Nov 2015 15:17:41 +0000 (10:17 -0500)]
button: Add diagrams to CSS node docs for buttons
Matthias Clasen [Tue, 3 Nov 2015 14:53:00 +0000 (09:53 -0500)]
entry: Add a diagram to CSS node docs
Matthias Clasen [Tue, 3 Nov 2015 12:42:05 +0000 (07:42 -0500)]
inspector: Replace a use of gtk_button_set_focus_on_click
It is deprecated now.
Florian Müllner [Fri, 23 Oct 2015 20:43:11 +0000 (22:43 +0200)]
listbox: Implement :focus-on-click
Similar to buttons-in-toolbars, it can make sense for listbox rows
to not take away the focus from the main application view, for
instance when used for navigation. Support this by taking the newly
added GtkWidget:focus-on-click property into account.
https://bugzilla.gnome.org/show_bug.cgi?id=757269
Florian Müllner [Fri, 23 Oct 2015 20:13:30 +0000 (22:13 +0200)]
Use gtk_widget_set_focus_on_click() instead of deprecated setters
https://bugzilla.gnome.org/show_bug.cgi?id=757269
Florian Müllner [Fri, 23 Oct 2015 16:39:01 +0000 (18:39 +0200)]
Deprecate widget-specific :focus-on-click properties
The differences between the existing properties and the newly added
GtkWidget:focus-on-click property are minimal (different owner_type
in GParamSpec), so it is extremely unlikely that dropping the former
would break anything.
https://bugzilla.gnome.org/show_bug.cgi?id=757269
Florian Müllner [Fri, 23 Oct 2015 16:07:41 +0000 (18:07 +0200)]
widget: Add :focus-on-click property
There are currently three widget that implement such a property, and
there are other widgets for which the behavior can make sense. It
seems like a good time to add the property to GtkWidget itself so
subclasses can choose to respect it without adding their own property.
https://bugzilla.gnome.org/show_bug.cgi?id=757269
Carlos Garnacho [Fri, 16 Oct 2015 17:52:50 +0000 (19:52 +0200)]
GdkDevice: Do not free construct-only properties data on dispose()
Those are not references to other objects, and the device will be mostly
useless if those can't be set again anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=756625
Carlos Garnacho [Thu, 22 Oct 2015 16:14:01 +0000 (18:14 +0200)]
texthandle: Request raising of text handle popovers.
https://bugzilla.gnome.org/show_bug.cgi?id=756670
Carlos Garnacho [Thu, 22 Oct 2015 16:13:19 +0000 (18:13 +0200)]
popover: Request raise on ::show
This way latest shown popovers are ensured to be on top.
https://bugzilla.gnome.org/show_bug.cgi?id=756670
Carlos Garnacho [Thu, 22 Oct 2015 16:09:23 +0000 (18:09 +0200)]
GtkWindow: make popover stacking explicit
The list of popovers will specify the stacking order, a
_gtk_window_raise_popover() private call has been added so popover
widgets can request being on top.
Also, the stacking on popovers is ensured on gtk_window_size_allocate(),
after the size/stacking changes on the child widget have finished, this
will ensure popovers are kept on top of window contents.
https://bugzilla.gnome.org/show_bug.cgi?id=756670
Carlos Garnacho [Fri, 30 Oct 2015 13:10:19 +0000 (14:10 +0100)]
x11: Detect single-touch touchscreens as GDK_SOURCE_TOUCHSCREEN
Those won't have ABS_MT_* axes, so won't be reported has having
XITouchClassInfo. Fallback on these to checking whether abs x/y axes are
available. After the Wacom checks, any remaining device with absolute axes
should be touchscreens, and GDK_SOURCE_MOUSE does indeed just make sense on
devices with relative axes.
https://bugzilla.gnome.org/show_bug.cgi?id=757358
Dhiru Kholia [Tue, 27 Oct 2015 21:08:59 +0000 (22:08 +0100)]
Fix a memory leak in gtk-3.0.m4 file
This fix is inspired by,
https://git.gnome.org/browse/glib/tree/m4macros/glib-2.0.m4
https://bugzilla.gnome.org/show_bug.cgi?id=757221
Olivier Fourdan [Fri, 30 Oct 2015 16:38:25 +0000 (17:38 +0100)]
GtkWindow: Fix the shadow width logic
Previous commit
305b34a "GtkWindow: fix move/get position with CSD"
introduced a regression because some windows presumably use shadows but
actually don't, resulting in a negative offset being wrongly applied.
Problem is that get_shadow_width() would return non-zero shadows even
for windows that have no shadow, thus causing the negative offset.
Fix the logic in get_shadow_width() and gtk_window_should_use_csd() so
that get_shadow_width() returns accurate values.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=756618
Matthias Clasen [Tue, 3 Nov 2015 04:49:38 +0000 (23:49 -0500)]
Adwaita: Update menubar styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 3 Nov 2015 04:49:20 +0000 (23:49 -0500)]
menubar: Use an element name
Matthias Clasen [Tue, 3 Nov 2015 04:43:58 +0000 (23:43 -0500)]
Adwaita: Update menu item styling
Adapt to the changes in the previous commit.
Matthias Clasen [Tue, 3 Nov 2015 04:42:14 +0000 (23:42 -0500)]
menu item: Use CSS nodes
Use the element name menuitem for GtkMenuItem, GtkCheckMenuItem
and GtkRadioMenuItem. GtkSeparatorMenuItem gets the name separator.
Add a subnode with name arrow if a submenu is attached.
Give the radio and check menu items a subnode with name check or
radio.
Matthias Clasen [Tue, 3 Nov 2015 04:06:57 +0000 (23:06 -0500)]
check button: Match documented behavior
We were not actually adding the style classes that the
documentation is talking about, for the !draw-indicator case.
Fix that.
Matthias Clasen [Tue, 3 Nov 2015 03:20:04 +0000 (22:20 -0500)]
menu item: Remove an unused member
Nobody is reading or writing this field, so we can do without it.
Matthias Clasen [Tue, 3 Nov 2015 02:49:10 +0000 (21:49 -0500)]
menu: Fix up CSS node ordering
Keep the bottom arrow node at the end, where it belongs.
Matthias Clasen [Tue, 3 Nov 2015 02:40:40 +0000 (21:40 -0500)]
menu: Document CSS nodes
Matthias Clasen [Tue, 3 Nov 2015 02:34:14 +0000 (21:34 -0500)]
HighContrast: Update menu styling
Support the element names introduced in the previous commit.
Matthias Clasen [Tue, 3 Nov 2015 01:47:04 +0000 (20:47 -0500)]
Adwaita: Update menu styling
Support the element names introduced in the previous commit.
Matthias Clasen [Tue, 3 Nov 2015 01:45:46 +0000 (20:45 -0500)]
menu: Port to use css nodes
Use the element name menu for the main node, and use two subnodes
with name arrow and style classes .top and .bottom for the arrows
of scrolling menus.
Cosimo Cecchi [Tue, 3 Nov 2015 00:05:07 +0000 (16:05 -0800)]
menushell: don't call gtk_render_background()
GtkMenu and GtkMenuBar, the two implementations of GtkMenuShell in GTK,
already draw it.
Furthermore, rendering a background here will overdraw any rendering
that the subclass will do, such as arrows for scrolling menus.
Benjamin Otte [Mon, 2 Nov 2015 19:25:09 +0000 (20:25 +0100)]
inspector: Do not show transient nodes
This is kind of a hack the way it's implemented, but it's necessary
for performance to ignore transient nodes as they get created all the
time (via gtk_style_context_save()) and invalidate the whole treeview.
And that causes resizes and redrawing of the treeview and performance of
the inspector would go down the drain now that we display a larger part
of the node tree.
Benjamin Otte [Mon, 2 Nov 2015 19:16:23 +0000 (20:16 +0100)]
inspector: Always show full CSS node tree
Just select the node of the current widget whenever a new one gets
selected.
Benjamin Otte [Mon, 2 Nov 2015 16:04:39 +0000 (17:04 +0100)]
gdkrgba: Use %g instead of %.17g to print alpha
This way 0.3 isn't printed as 0.
29999999999999
Matthias Clasen [Mon, 2 Nov 2015 19:26:50 +0000 (14:26 -0500)]
HighContrast: Update combobox styling
Adapt to the changes in the previous commit.
Matthias Clasen [Mon, 2 Nov 2015 19:22:49 +0000 (14:22 -0500)]
Adwaita: Update combobox styling
Adapt to the changes in the previous commit. Some further fixes will
be necessary here.
Matthias Clasen [Mon, 2 Nov 2015 18:15:05 +0000 (13:15 -0500)]
combobox: Use element names
Use combobox as the element name for the main CSS nodes of
GtkComboBox and GtkComboBoxText. Add the .combo style class
to the button and entry. in a GtkComboBox or GtkComboBoxText.
Matthias Clasen [Mon, 2 Nov 2015 17:53:57 +0000 (12:53 -0500)]
popover: Document differentiating style classes
There's a lot of popover variations out there.
Matthias Clasen [Mon, 2 Nov 2015 17:51:00 +0000 (12:51 -0500)]
button: Mention differentiating style classes
There's a lot of button variations out there, lets document
the ones we know about.
Matthias Clasen [Mon, 2 Nov 2015 17:47:14 +0000 (12:47 -0500)]
HighContrast: Update magnifier styling
Adapt to changes in the previous commit.
Matthias Clasen [Mon, 2 Nov 2015 17:46:45 +0000 (12:46 -0500)]
Adwaita: Update magnifier styling
Adapt to changes in the previous commit.
Matthias Clasen [Mon, 2 Nov 2015 17:40:38 +0000 (12:40 -0500)]
entry, textview: Use a dedicated style class for magnifier
This will free up "osd" as an application-level style class,
and lets us style magnifiers differently.
Matthias Clasen [Mon, 2 Nov 2015 17:27:36 +0000 (12:27 -0500)]
file chooser button: Add a style class
Unfortunately, GtkFileChooserButton is different from the other
pickers in that it is not a button, but rather has a button.
We ignore the difference for styling purposes, and just add
a .file style class to the button.
Matthias Clasen [Mon, 2 Nov 2015 17:21:39 +0000 (12:21 -0500)]
Adwaita: Fix menu separators
These were inadvertedly broken by the element name conversion
for regular separators.
Cemil Azizoglu [Thu, 15 Oct 2015 17:11:36 +0000 (12:11 -0500)]
mir: Print hscroll and vscroll values when debugging.
Signed-off-by: William Hua <william.hua@canonical.com>
Benjamin Otte [Sun, 1 Nov 2015 15:45:11 +0000 (16:45 +0100)]
inspector: Track updates of node styles
When the CSS style of a node changes, we want to display the new values
in the inspector.
This for example allows to see how styles update on hover or during
animations.
Colomban Wendling [Sat, 31 Oct 2015 22:02:36 +0000 (23:02 +0100)]
cssnode: Fix style updating when the CSS node ID changes
Since
4ebb5781eaf332da3f8ce5ffb5ecc8668a56f118 ID has a specific value,
while it used to be the same as NAME. Thus, explicitly list ID as a
radical change just like NAME.
https://bugzilla.gnome.org/show_bug.cgi?id=757397
Colomban Wendling [Sun, 1 Nov 2015 01:31:53 +0000 (02:31 +0100)]
cssnode: Fix a typo leading to very poor cache hashing
Colomban Wendling [Sun, 1 Nov 2015 01:35:09 +0000 (02:35 +0100)]
gtkcontainer: Guard internal use of deprecated public API
Benjamin Otte [Sun, 1 Nov 2015 01:34:41 +0000 (02:34 +0100)]
inspector: Store the current node in the priv struct
Benjamin Otte [Sat, 31 Oct 2015 16:14:14 +0000 (17:14 +0100)]
inspector: Split out a function
Matthias Clasen [Sun, 1 Nov 2015 01:02:36 +0000 (21:02 -0400)]
toolpalette: Use element names
Give the GtkToolPalette and GtkToolItemGroup the element
names toolpalette and toolitemgroup.
Matthias Clasen [Sun, 1 Nov 2015 00:55:51 +0000 (20:55 -0400)]
HighContrast: Update toolbutton styling
Matthias Clasen [Sun, 1 Nov 2015 00:52:41 +0000 (20:52 -0400)]
Adwaita: Update tool button styling